package com.chenhs.oop.study.IO流;

import org.junit.Test;

import java.io.*;

/**
 * @className: com.chenhs.oop.study.IO流-> IO8对象接节点流包装流
 * @description: 这个类是做做什么得吖，小朋友？
 * @author: chenhs
 * @createDate: 2022-12-27 21:47
 * @version: 1.0
 */
public class IO8对象接节点流包装流 implements Serializable  {
    /**
     * 保存对象数据，需要这个对象可以序列化（将对象转换成数据的过程。），在java中要求这个对象必选实现 Serializable 接口
     */

    @Test
    public void t() throws IOException {
        ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("D:\\temp\\data.dat",true));
//        int 自动装箱为 Integer Integer 已经实现了Serializable接口。
        out.write(100);
        out.writeBoolean(true);
        out.writeDouble(9.5);
        out.writeUTF("我是字符串");
        out.writeObject(new String("123"));
        out.writeObject(new Cat("大橘猫",3));
        out.writeObject(new Cat("大花猫",5));
        out.close();
        System.out.println("写入完成");
    }

    class Cat  implements  Serializable {
        private String name;
        private Integer age;

        public Cat(String name, Integer age) {
            this.name = name;
            this.age = age;
        }
    }
}
